//
//  main.m
//  OC01_类和对象
//
//  Created by dllo on 16/2/24.
//  Copyright © 2016年 Apon. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h" /**< 导入头文件 */
int main(int argc, const char * argv[]) {
#pragma  mark - 知识点1:类和对象
   /**
    * 类: 由实例变量(特征)和方法(行为)组成
    * 面向对象编程三步:定义类 创建对象 使用对象
    */
    
#pragma  mark - 1.1类的定义
    /** 详见 Person.h 和 Person.m 类文件 */
    
#pragma  mark - 1.2 创建对象
#if 0 //注释掉了
    Person *person1 = [Person alloc]; //分开写  开辟空间
    person1 = [person1 init];  //初始化
    //alloc之后必须初始化 所以通常alloca 和init方法连写
    Person *person2 = [[Person alloc] init];//合并写 开辟空间 并且初始化
#endif
#pragma mark - 知识点2:使用对象
    /** 使用对象 就是调用方法(功能) */
    //创建对象
#if 0
    Person *person1 = [[Person alloc] init];
        //使用对象(调用方法)
    [person1 info];
    [person1 sayHello];
#endif
    
    
#pragma mark - 知识点3:实例变量的操作
    
    //创建对象
    Person *person1 = [[Person alloc] init];
    //实例变量的赋值
    person1->_name = @"张三";
    person1->_age = 18;
    
    //实例变量的取值
    NSLog(@"name:%@",person1->_name);
    
    //调用对象方法
    [person1 info];
    
    [person1 sayHello];
    
    
    return 0;
}
